package com.qilu.pe.ui.activity;

import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;

import com.qilu.pe.R;
import com.qilu.pe.base.Base2Activity;
import com.qilu.pe.support.util.ActiviceCollector;
import com.qilu.pe.support.util.Logg;

public class PdfPreviewActivity extends Base2Activity {
    private WebView webview;

    private String title = "报告查看";
    private String url;

    @Override
    protected int getLayoutRes() {
        return R.layout.activity_pdf_preview;
    }

    // index.html 注释
    // width=device-width ：表示宽度是设备屏幕的宽度
    // initial-scale=1.0：表示初始的缩放比例
    // minimum-scale=0.5：表示最小的缩放比例
    // maximum-scale=4.0：表示最大的缩放比例
    /// user-scalable=yes：表示用户是否可以调整缩放比例

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        ActiviceCollector.addActivity(this);
        webview = findViewById(R.id.webview);

        Bundle bundle = getIntent().getExtras();
        if (null != bundle) {
            title = bundle.getString("title");
            url = bundle.getString("url");

//            String pdfUrl = "file:///android_asset/pdfjs/web/viewer.html?file=" + url;
            String pdfUrl = "file:///android_asset/index.html?" + url;
            Logg.i("url = " + url);
            Logg.i("pdfUrl = " + pdfUrl);
            initWebview(pdfUrl);
        }

        setHeadTitle(title);
    }

    private void initWebview(String url) {
        WebSettings webSettings = webview.getSettings();
        webSettings.setJavaScriptEnabled(true);

        webSettings.setPluginState(WebSettings.PluginState.ON);
        webSettings.setAllowContentAccess(true);
        webSettings.setAllowFileAccess(true);
        webSettings.setAllowFileAccessFromFileURLs(true);
        /**
         * 简单来说，该项设置决定了JavaScript能否访问来自于任何源的文件标识的URL。
         * 比如我们把PDF.js放在本地assets里，然后通过一个URL跳转访问来自于任何URL的PDF，所以这里我们需要将其设置为true。
         * 而一般情况下，为了安全起见，是需要将其设置为false的。
         */
        webSettings.setAllowUniversalAccessFromFileURLs(true);

        webSettings.setSupportZoom(true);
        webSettings.setBuiltInZoomControls(true);
        webSettings.setDisplayZoomControls(false);//不显示那个丑东西

        webview.loadUrl(url);
    }
}